package ADVANCED_TOPICS.JDBC_PROVIDERS.SAMPLES;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import VN.IMIC.EDU.SQLCONNECTIONS.SQLMAN.SQLConnectionMan;

public class QUERY_SAMPLE01 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // 1. Khai báo khởi tạo đối tượng
        Connection objConnection;

        // 2. Khai báo & khởi tạo đối tượng trong thư viện
        SQLConnectionMan objMan = new SQLConnectionMan();
        try{
        		objConnection = objMan.OpenConnection("192.168.0.225", 
        							"CMSCAFES", 
        							"y2016jc11", 
        							"nothing", 1433);        
        
            //3. Kiểm tra trạng thái kết nối tới CSDL
            if (!objConnection.isClosed()) {
                //4. Khai báo & khởi tạo 02 đối tượng
            	ResultSet objRs = null;
            	CallableStatement objCsmt = null;
            	
            	//5. Khởi tạo CallableStatement thông qua Connections
            	String SQL = "Select a.ServiceId, a.TableId, a.Quantity, b.TableName, b.IsAvailable "+
            									" From cf_Services a"+
            									" Inner Join cf_Table b on a.TableId = b.TableId";
            	objCsmt = objConnection.prepareCall(SQL);
            	
            	//6. Ủy quyền thực thi truy vấn & nhận về tập bản ghi --> ResultSet
            	objRs = objCsmt.executeQuery();
            	
            	//7. Duyệt & hiển thị ra bên ngoài
            	while(objRs.next()){
            		System.out.println("+ ServiceId: "+ objRs.getString("ServiceId"));
            		System.out.println("+ TableId: "+ objRs.getString("TableId"));
            		System.out.println("+ Quantity: "+ objRs.getShort("Quantity"));
            		System.out.println("+ TableName: "+ objRs.getString("TableName"));
            		System.out.println("+ IsAvailable: "+ objRs.getShort("IsAvailable"));
            	}
            	
            } else {
                System.out.println("Kết nối thất bại!!!");
            }
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}
